package com.net.xpay.web.vo;

import com.net.xpay.core.enums.SafePayBookAccountAuditStatus;
import com.net.xpay.core.enums.SafePayBookAccountSignStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class SafePayBookAccountVo {

    @ApiModelProperty(notes = "id")
    private Long id;

    @ApiModelProperty(notes = "备注 最多16个字")
    private String remark;

    @ApiModelProperty(notes = "签约状态")
    private SafePayBookAccountSignStatus signStatus;

    @ApiModelProperty(notes = "审核状态")
    private SafePayBookAccountAuditStatus auditStatus;

    @ApiModelProperty(notes = "审核提交时间")
    private LocalDateTime auditSubmitTime;

    @ApiModelProperty(notes = "审核时间")
    private LocalDateTime auditTime;

    @ApiModelProperty(notes = "支付宝账号")
    private String alipayNickName;

    @ApiModelProperty(notes = "支付宝主体名称")
    private String alipayName;

    @ApiModelProperty(notes = "签约到期时间")
    private String signInvalidTime;

    @ApiModelProperty(notes = "资金账本余额")
    private String bookBalance;

    @ApiModelProperty(notes = "资金记账本id")
    private String bookId;

    @ApiModelProperty(notes = "支付宝签约协议号")
    private String agreementNo;

    @ApiModelProperty(notes = "户名")
    private String bankAccName;

    @ApiModelProperty(notes = "卡号")
    private String cardNo;

    @ApiModelProperty(notes = "银行")
    private String cardBank;

    @ApiModelProperty(notes = "支行")
    private String cardBranch;

    @ApiModelProperty(notes = "开户地")
    private String cardLocation;

    @ApiModelProperty(notes = "联行号")
    private String cardDeposit;

    @ApiModelProperty(notes = "资金账本托管账户信息 json")
    private String extCardInfo;

    @ApiModelProperty(notes = "企业名称")
    private String businessName;

    /**
     * 当天的转账额度
     */
    private BigDecimal currentDayTransLimit;

    /**
     * 当月的转账额度
     */
    private BigDecimal currentMonthTransLimit;

    private LocalDateTime createTime;  // 创建时间

}
